home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / utils / file / managers / mc-3.2 / mc-3 / mc-3.2.1 / vfs / extfs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-17  |  2.1 KB  |  76 lines

  1. /* Declarations for the extfs.
  2.  
  3.    Copyright (C) 1995 The Free Software Foundation
  4.    
  5.    Written by: 1995 Jakub Jelinek
  6.  
  7. This program is free software; you can redistribute it and/or modify
  8. it under the terms of the GNU General Public License as published by
  9. the Free Software Foundation; either version 2, or (at your option)
  10. any later version.
  11.  
  12. This program is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. GNU General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with this program; see the file COPYING.  If not, write to
  19. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  20.  
  21. #include <sys/types.h>
  22.  
  23. struct extfs_inode;
  24.  
  25. struct extfs_entry {
  26.     int has_changed;
  27.     struct extfs_entry *next_in_dir;
  28.     struct extfs_entry *dir;
  29.     char *name;
  30.     struct extfs_inode *inode;
  31. };
  32.  
  33. struct extfs_archive;
  34.  
  35. struct extfs_inode {
  36.     int has_changed;
  37.     nlink_t nlink;
  38.     struct extfs_entry *first_in_subdir; /* only used if this is a directory */
  39.     struct extfs_entry *last_in_subdir;
  40.     ino_t inode;        /* This is inode # */
  41.     dev_t dev;        /* This is an internal identification of the extfs archive */
  42.     struct extfs_archive *archive; /* And this is an archive structure */
  43.     dev_t rdev;
  44.     umode_t mode;
  45.     uid_t uid;
  46.     gid_t gid;
  47.     int size;
  48.     time_t mtime;
  49.     char linkflag;
  50.     char *linkname;
  51.     time_t atime;
  52.     time_t ctime;
  53.     char *local_filename;
  54. };
  55.  
  56. struct extfs_archive {
  57.     int fstype;
  58.     char *name;
  59.     char *local_name;
  60.     struct stat extfsstat;
  61.     struct stat local_stat;
  62.     dev_t rdev;
  63.     int fd_usage;
  64.     ino_t __inode_counter;
  65.     struct extfs_entry *root_entry;
  66.     struct extfs_entry *current_dir;
  67.     struct extfs_archive *next;
  68. };
  69.  
  70. void extfs_init (void);
  71. void extfs_fill_names (void (*func)(char *));
  72. int extfs_prefix_to_type (char *path);
  73. char *extfs_get_prefix (int fstype);
  74. char *extfs_analysis (char *path, char **arc_name, int *fstype, int is_dir);
  75. void extfs_run (char *path);
  76.